# handle_log
# 2024/10/28
# author:www
import logging
from datetime import datetime

from utils.handle_path import log_path

'''
内存写入硬盘，会影响性能
一、日志输出渠道
1、文件格式：xxx.log
2、控制台输出
二、日志级别
三、日志内容：2024-10-28 12：34：32,322 INFO 
'''
def logger(fileLog=True,name=__name__):
    # 日志存放路径，路径+文件名+后缀名 log_path
    logDir = log_path+f"\\{datetime.now().strftime('%Y-%m-%d %H-%M-%S')}.log"
    #创建日志对象
    logObj = logging.getLogger(name)
    #设置级别
    logObj.setLevel(logging.DEBUG)
    # 设置日志的内容格式
    fmt = '%(asctime)s - %(levelname)s - %(filename)s[%(lineno)d]:%(message)s]'
    format = logging.Formatter(fmt)

    #文件日志
    if fileLog:
        # 设置日志渠道--文件方式输出
        handler1 = logging.FileHandler(logDir,encoding='utf-8')
        # 日志内容绑定渠道
        handler1.setFormatter(format)
        #日志对象绑定渠道
        logObj.addHandler(handler1)
    else:
        # 设置日志渠道--控制台方式输出
        handler2 = logging.StreamHandler()
        # 日志内容绑定渠道
        handler2.setFormatter(format)
        #日志对象绑定渠道
        logObj.addHandler(handler2)

    return logObj

# 在本函数文件中直接调用函数
log = logger()
log.info('这是一个日志信息')


# if __name__ == '__main__':
#     # print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
#     print(logger())
